package com.hong.qrpc.example.annotation;

import com.hong.qrpc.RpcClient;
import com.hong.qrpc.example.service.CalcService;
import com.hong.qrpc.example.service.TestService;

import java.io.IOException;
import java.util.Scanner;

/**
 * @Author HQT
 * @Date 2022/7/10 20:30
 */
public class Client {
    public static void main(String[] args) throws IOException {
        //可以在创建客户端对象的时候直接传入配置文件的名称(需直接放置在resource目录下)，不传入的话默认会去resource目录下去
        //寻找qrpc.properties的文件作为配置文件，如果没有配置文件可加载的话所有配置参数设置为默认参数
        RpcClient rpcClient = new RpcClient("application.client.properties");
        //通过在注解上添加url的方式，可以不用指定url直接直连，如果不指定url则可以在getProxy时指定，或者通过注册中心发现
        CalcService service = rpcClient.getProxy(CalcService.class);
        for (int i = 0; i < 3000; i++) {
            try {
                int r1 = service.add(1, 2);
                int r2 = service.minus(2, 1);
                System.out.println(r1 + "  " + r2);
                new Scanner(System.in).next();
            } catch (Exception e) {
                System.out.println("get ex");
            }
//            new Scanner(System.in).next();
        }
        rpcClient.getProxy(TestService.class).testTimeout();
        new Scanner(System.in).next();
        //关闭客户端
        rpcClient.stop();
    }
}
